#pragma once
#include "nnse_support.h"

namespace SimpleGUI
{
	template <class T, class U> public ref class Target : public System::Windows::Forms::Form
	{
		// Constructor and Destructor
			public:	Target(nnse::solver<T, U>^ p);
			protected: virtual ~Target();
		// Member Variables
			private: System::ComponentModel::Container^ components;
			private: System::Windows::Forms::TextBox^  textBox;
			private: array<System::Windows::Forms::Label^>^ grid;
			private: nnse::solver<T, U>^ parent;
		// GUI Functions
			private: System::Void form_closed(System::Object^  sender, System::Windows::Forms::FormClosedEventArgs^  e);
			private: System::Void add_grid();
			private: System::Void remove_grid();
			public: System::Void show_vector();
#pragma region Windows Form Designer generated code
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		void InitializeComponent(void)
		{
			this->textBox = (gcnew System::Windows::Forms::TextBox());
			this->SuspendLayout();
			// 
			// textBox
			// 
			this->textBox->Location = System::Drawing::Point(12, 12);
			this->textBox->Name = L"textBox";
			this->textBox->Size = System::Drawing::Size(231, 20);
			this->textBox->TabIndex = 35;
			// 
			// Target
			// 
			this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
			this->ClientSize = System::Drawing::Size(292, 266);
			this->Controls->Add(this->textBox);
			this->Name = L"Target";
			this->Text = L"Target";
			this->FormClosed += gcnew System::Windows::Forms::FormClosedEventHandler(this, &Target::form_closed);
			this->ResumeLayout(false);
			this->PerformLayout();

		}
#pragma endregion
	};
}
